Skip to content

Conversation

@sbuggay
Copy link

@sbuggay sbuggay commented Jan 6, 2026

Summary

This change adds a new experimental panel for AI integration with React Native.

Test plan

Needs a few other changes to test E2E. Panel can be toggled with the experimental flag Enable Livemate Panel.

  • This change maintains backwards compatibility with previous Local Storage data (if modifying settings, experiments, or other persisted client state).

Upstreaming plan

@meta-cla meta-cla bot added the cla signed label Jan 6, 2026
@sbuggay sbuggay changed the title [draft] Livemate prototype [livemate] New Livemate Panel Jan 22, 2026
@sbuggay sbuggay marked this pull request as ready for review January 22, 2026 17:48
const timeoutId = setTimeout(() => controller.abort(), timeoutMs);

try {
const response = await fetch('http://localhost:8081/livemate', {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As we've discussed, this probably won't work with OD case.
We should get more clarity on the approach, before committing to any changes on Frontend side.

@@ -1 +0,0 @@
file://config/owner/INFRA_OWNERS
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Accidental change?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, bad rebase caused a bunch of random changes I think.

* This binding is installed on the React Native side and called when
* Inspector selects an element to propagate view data to DevTools.
*/
export const LIVEMATE_BINDING_NAME = '__livemate_devtools_binding';
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I see binding, I've just added reviewed the backend part in jsinspector-modern, and I suggested to use them.

Didn't see it being used on JavaScript side, though.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And I don't see it being used here in Livemate panel code as well

this.#queryInput.setAttribute('placeholder', i18nString(UIStrings.queryPlaceholder));
this.#queryInput.setAttribute(
'style',
'flex: 1; padding: 12px 16px; border: 1px solid var(--sys-color-divider); border-radius: 4px; background: var(--sys-color-cdt-base-container); color: var(--sys-color-on-surface); font-size: 14px; min-height: 100px; resize: vertical; font-family: inherit;'
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we move these to css files?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants